feat(button): Busy spinner with absolute position#110202
feat(button): Busy spinner with absolute position#110202
Conversation
natemoo-re
left a comment
There was a problem hiding this comment.
Conceptually approved! Didn't see any visual errors in the preview 🙌
Would love to see the button docs updated and another once-over on the aria states for the entire component.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Autofix Details
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Props spread overrides busy aria-label for icon-only buttons
- Moved aria-label assignment after {...props} spread to ensure the 'Busy' label is properly applied when buttons are in busy state, following the same pattern as onClick and role.
Or push these changes by commenting:
@cursor push 453fa0dee7
Preview (453fa0dee7)
diff --git a/static/app/components/core/button/button.tsx b/static/app/components/core/button/button.tsx
--- a/static/app/components/core/button/button.tsx
+++ b/static/app/components/core/button/button.tsx
@@ -38,7 +38,6 @@
disabled={!tooltipProps?.title}
>
<StyledButton
- aria-label={busy ? 'Busy' : accessibleLabel}
aria-disabled={disabled}
aria-busy={busy}
disabled={disabled}
@@ -46,6 +45,7 @@
type={type}
busy={busy}
{...props}
+ aria-label={busy ? 'Busy' : accessibleLabel}
onClick={handleClick}
role="button"
>There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
|
Looks good :) @natemoo-re should we make the loader color blue here, wdyt? |
|
@JonasBa I don't mind |


this is the 3rd attempt to land de-980 after two reverts. This approach does not change the button internal layout to avoid the large blast radius of the first two approaches.